package common.impl;

import org.apache.commons.lang.StringUtils;

import common.interf.IErrorHandle;
import common.interf.IErrorProperty;
import net.sf.json.JSONObject;

public class ErrorHandleImpl implements IErrorHandle {
	private IErrorProperty errorProperty;

	public void setErrorProperty(IErrorProperty errorProperty) {
		this.errorProperty = errorProperty;
	}

	public String handleErr(Exception e) {
		String eMsg = e.getMessage();
		JSONObject jobj = new JSONObject();
		jobj.put("errno", eMsg);
		String errors = handle(eMsg);
		if (!StringUtils.isEmpty(errors)) {
			errors = eMsg;
		}
		jobj.put("errors", eMsg);
		return jobj.toString();
	}

	/*
	 * 处理错误编号
	 * 
	 * @param errno:错误编号
	 * 
	 * @return 错误信息
	 */
	private String handle(String errno) {
		String msg = errorProperty.getValue(errno);
		if (StringUtils.isEmpty(msg))
			msg = errno;
		return msg;
	}
}
